<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <style>
    .box{
      width:100px;height:100px;
      padding: 20px;
      border: solid 30px black;
      margin: 40px;
      /* position: absolute;
      left:50px;top:50px; */
      overflow: auto;
    }
    .cont{
      position: relative;
    }
  </style>
</head>
<body>
  <h1>这是标题</h1>
  <div class="cont">
    <div class="box">
      这是一些文字这是一些文字这是一些文字这是一些文字这是一些文字这是一些文字这是一些文字这是一些文字这是
      <p>段落段落段落段落</p>
      一些文字这是一些文字这是一些文字这是一些文字这是一些文字这是一些文字这是一些文字这是一些文字这是一些文字这是一些文字这是一些文字这是一些文字这是一些文字这是一些文字这是一些文字这是一些文字这是一些文字这是一些文字这是一些文字这是一些文字这是一些文字这是一些文字这是一些文字这是一些文字这是一些文字
    </div>
  </div>
</body>
<script>

  var box = document.querySelector(".box");

  console.log( box );
  // cont + padding
  console.log( box.clientHeight );
  console.log( box.clientWidth );
  // cont + padding + border
  console.log( box.offsetHeight );
  console.log( box.offsetWidth );
  // cont + padding + 可滚动的距离
  console.log( box.scrollHeight );
  console.log( box.scrollWidth );


  // 获取自身相对于包含块偏移的距离
  console.log( box.offsetTop );
  console.log( box.offsetLeft );
  // 包含块：距离当前元素最近的一个具有定位的父级，如果不存在这样的父级，html就是包含块


  // 以上属性只能获取，不能设置
  
  // 以下即可获取，又可设置

  document.onclick = function(){
    // 滚动条滚走了的距离
    // console.log( box.scrollTop )
    // console.log( box.scrollLeft )
    box.scrollTop += 66
  }

</script>
</html>